CREATE TABLE `api_keys` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `key_value` varchar(255) NOT NULL,
  `expiration_date` date DEFAULT NULL,
  `usage_limit` int(11) DEFAULT NULL,
  `current_usage` int(11) DEFAULT '0',
  `status` enum('active','expired','revoked') DEFAULT 'active',
  PRIMARY KEY (`id`),
  UNIQUE KEY `key_value` (`key_value`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `banned_devices` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `device_id` varchar(255) NOT NULL,
  `ban_reason` text,
  `banned_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `device_id` (`device_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `device_ids` (
  `device_id` varchar(100) NOT NULL,
  `api_key_id` int(11) DEFAULT NULL,
  `number_key_id` int(11) DEFAULT NULL,
  KEY `api_key_id` (`api_key_id`),
  CONSTRAINT `device_ids_ibfk_1` FOREIGN KEY (`api_key_id`) REFERENCES `api_keys` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

